package views;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;

import services.AvionesServices;
import services.ClientesServices;
import services.ConexionSql;

import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JMenu;




import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;

import javax.swing.JMenuItem;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JPanel;

import model.*;

import java.awt.Font;

public class VerAviones extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTable table;

	public VerAviones() {
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

		// this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

		// GENERAL
		setTitle("Ver Aviones");
		setSize(new Dimension(911, 605));
		setOpacity(01);

		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		JMenu mnArchivo = new JMenu("Archivo");
		menuBar.add(mnArchivo);
		JMenuItem mntmSalir = new JMenuItem("Salir");
		mntmSalir.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				System.out.println("salir");
				System.exit(0);

			}
		});
		mnArchivo.add(mntmSalir);

		JMenu mnAdministracion = new JMenu("Administracion");
		menuBar.add(mnAdministracion);

		// PARTICULAR

		JPanel panel = new JPanel();
		panel.setBounds(32, 50, 447, 439);// tamm
		getContentPane().add(panel);

		
		

		 
		table =  new JTable();
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		JScrollPane tableSP = new JScrollPane(table);
		panel.add(tableSP);

		tableSP.setBorder(new EmptyBorder(5, 5, 5, 5));

		table.setModel(new DefaultTableModel(new Object[][] {}, new String[] {
				"ID", "Nombre", "P. Primera","P. Economica","P. Business" }) {
			Class[] columnTypes = new Class[] { Integer.class, String.class,
					Integer.class ,Integer.class,Integer.class};

			public Class getColumnClass(int columnIndex) {
				return columnTypes[columnIndex];
			}
		});

		table.getTableHeader().setReorderingAllowed(false);// no reordenar
															// columnas
		table.setAutoResizeMode(JTable.WIDTH);// que ocupe todo lo del jpanel

		//CARGA AVIONES en AvionesActuales
		AvionesServices Av = new AvionesServices();
		List<Aviones> AvionesActuales = new ArrayList<Aviones>();
		
		
		 try {
			 AvionesActuales = Av.GetAvionesAll();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
	
		 DefaultTableModel model = (DefaultTableModel) table.getModel();
		 for (int i = 0; i < AvionesActuales.size(); i++) {
			    Aviones temp = AvionesActuales.get(i);
		
			    Vector row = new Vector();
			    row.add(temp.getId());
			    row.add(temp.getNombre());
			    row.add(temp.getPasajerosprimera());
			    row.add(temp.getPasajeroseconomica());
			    row.add(temp.getPasajerosbusiness());
			    model.addRow(row);
			
			    
			    
			  //  table.add(new Object[]{temp.getId(),temp.getNombre(), temp.getPasajerosprimera(),temp.getPasajeroseconomica(),temp.getPasajerosbusiness()});
		 }
		
		

		  
		
		JLabel lblClientesActuales = new JLabel("Aviones Actuales");
		lblClientesActuales.setFont(new Font("Tahoma", Font.PLAIN, 16));
		lblClientesActuales.setBounds(32, 11, 171, 28);
		getContentPane().add(lblClientesActuales);

		// FECHA DE ALTA PRUEBA

		
		
		JMenuItem mntmVerListadoClientes = new JMenuItem("Ver Listado Clientes");
		mntmVerListadoClientes.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				VerAviones a;
				a = new VerAviones();			
				a.setVisible(true);

			}
		});

		mnAdministracion.add(mntmVerListadoClientes);
		
		JMenuItem mntmNuevoCliente = new JMenuItem("Nuevo Cliente");
		mntmNuevoCliente.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				NuevoCliente a = new NuevoCliente();
				a.setVisible(true);

			}
		});
		mnAdministracion.add(mntmNuevoCliente);
		JMenu mnNewMenu = new JMenu("Viajes");
		menuBar.add(mnNewMenu);

		JMenuItem mntmNuevoViaje = new JMenuItem("Nuevo Viaje");
		mntmNuevoViaje.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				NuevoViaje a = new NuevoViaje();
				a.setVisible(true);

			}
		});

		mnNewMenu.add(mntmNuevoViaje);
		getContentPane().setLayout(null);
		;

		// IMG
		BufferedImage myPicture;
		try {
			myPicture = ImageIO.read(new File("mini_vuelosfrgp.png"));
			JLabel picLabel = new JLabel(new ImageIcon(myPicture));
			picLabel.setBounds(-10008, -10051, 0, 0);
			getContentPane().add(picLabel).setBounds(540, 02, 350, 182);

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}
